package com.yeyks.search.service.hotel;

import com.yeyks.search.pojo.model.EsHotelInfo;
import com.yeyks.search.pojo.model.EsRoomCalendarInfo;
import com.yeyks.search.pojo.model.EsRoomInfo;

import java.util.List;

/**
 * 数据库中的 酒店，房间，房态的查询组装接口
 *
 * @author: dagny
 * @date: 2019/9/29 0029 11:08
 */
public interface EsHotelInformationService {


    /**
     * 1.查询酒店房间房态的各种信息
     * 2.查询数据用于存入Es中
     *
     * @param hotelId 酒店Id
     * @return 返回结果
     */
    EsHotelInfo searchHotel(Integer hotelId);

    /**
     * 1.批量查询酒店信息
     * 2.查询数据用于存入Es中
     *
     * @param hotelIdList 酒店Id集合
     * @return 返回结果
     */
    List<EsHotelInfo> searchHotelByHotelIdList(List<Integer> hotelIdList);


    /**
     * 根据房间Id集合 得到房间信息集合
     *
     * @param roomIdList 房间Id集合
     * @return 返回结果
     */
    List<EsRoomInfo> searchRoomByIds(List<Integer> roomIdList);

    /**
     * 根据酒店Id 得到房间集合信息
     *
     * @param hotelId 酒店ID
     * @return 返回集合
     */
    List<EsRoomInfo> searchRoomList(Integer hotelId);

    /**
     * 根据酒店ID集合 得到房间集合信息
     *
     * @param hotelIdList 酒店ID集合信息
     * @return 返回集合
     */
    List<EsRoomInfo> searchRoomListByHotelList(List<Integer> hotelIdList);


    /**
     * 根据房态Id集合  得到房态集合
     *
     * @param calendarIdList 房态Id集合
     * @return
     */
    List<EsRoomCalendarInfo> searchRoomCalendarByIds(List<Integer> calendarIdList);

    /**
     * 根据房间集合得到房态集合
     *
     * @param esRoomInfoList 房间集合
     * @return 返回房态集合
     */
    List<EsRoomCalendarInfo> searchRoomCalendarList(List<EsRoomInfo> esRoomInfoList);
}
